wayland: Leave existing mods on map_virtual_modifiers
authorRui Matos <tiagomatos@gmail.com>
Tue, 19 Apr 2016 19:03:45 +0000 (21:03 +0200)
committerRui Matos <tiagomatos@gmail.com>
Tue, 19 Apr 2016 19:14:20 +0000 (21:14 +0200)
map_virtual_modifiers() is supposed to add the necessary virtual mods
but otherwise leave the mods that are passed in.

https://bugzilla.gnome.org/show_bug.cgi?id=765270

gdk/wayland/gdkkeys-wayland.c

index 086e4de95683adffe9b336f7ad20c888dc73f558..a780e9d9c2672573e0e581d95d0f15b50938abb2 100644 (file)
@@ -424,7 +424,7 @@ gdk_wayland_keymap_map_virtual_modifiers (GdkKeymap       *keymap,
   mapped = xkb_state_serialize_mods (xkb_state, XKB_STATE_MODS_EFFECTIVE);
   if ((mapped & mods & 0xff) != 0)
     ret = FALSE;
-  *state = get_gdk_modifiers (xkb_keymap, mapped);
+  *state |= get_gdk_modifiers (xkb_keymap, mapped);
 
   xkb_state_unref (xkb_state);